#pragma once

#include <entt/entt.hpp>

namespace ly {
/**
 *  @brief The standard integer coordinate type
 */
#if defined(COORD_64BIT)
typedef int64_t Coord;
#else
typedef int32_t Coord;
#endif

/** 
 *  @brief The standard floating-point coordinate type
 */
typedef double DCoord;

typedef entt::entity entity_t;

typedef unsigned int uint_id_type;

typedef size_t size_id_type;

typedef unsigned int cell_id_type;
typedef unsigned int pcell_id_type;
typedef unsigned int layer_type;
typedef unsigned int layer_id_type;

typedef unsigned int shape_id_type;

typedef size_t properties_id_type;
typedef size_t property_names_id_type;
typedef size_t lib_id_type;

}  // namespace ly
